package com.jic.member.mapper;

import com.jic.member.entity.TLabelMemberRelation;
import com.jic.member.request.TLabelMemberRelationRequest;
import com.jic.member.response.TLabelMemberResponse;

import java.util.List;

public interface TLabelMemberRelationMapper {
    /**
     * T_LABEL_MEMBER_RELATION插入数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    int insert(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION插入数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    int insertSelective(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION根据表对象数据修改数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    int updateByPrimaryKey(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION根据表对象数据修改数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    int updateByPrimaryKeySelective(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION根据id删除数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    int deleteByPrimaryKey(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION根据会员id 标签id 和部门id删除
     *
     * @param tLabelMemberRelation 入参实体类
     */
    int deleteByDeptIdAndMemIdAndLabelId(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION根据主键查询数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    TLabelMemberRelation selectByPrimaryKey(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION根据主键查询数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    List<TLabelMemberRelation> listPageBySelective(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION查询数据
     *
     * @param tLabelMemberRelation 入参实体类
     */
    List<TLabelMemberRelation> selectBySelective(TLabelMemberRelation tLabelMemberRelation);

    /**
     * T_LABEL_MEMBER_RELATION查询数据
     *
     * @param tLabelMemberRelationRequest 入参实体类
     */
    List<String> queryBatchByLabelIds(TLabelMemberRelationRequest tLabelMemberRelationRequest);

    /**
     * 通过用户ID查询标签
     *
     * @param tLabelMemberRelationRequest
     * @return
     */
    List<TLabelMemberResponse> queryLabelByThirdUserId(TLabelMemberRelationRequest tLabelMemberRelationRequest);

    /**
     * 查询会员关联标签
     *
     * @param tLabelMemberRelation
     * @return
     */
    TLabelMemberResponse queryLabelInfo(TLabelMemberRelation tLabelMemberRelation);
}
